package com.xuanzheng.company.entity;

import java.io.Serializable;
import java.sql.Date;
import java.sql.Timestamp;

public class AttendanceRecord implements Serializable {
    private String id;
    private String companyId;
    private String userId;
    private String employeeNumber;
    private Timestamp checkInTime;
    private Timestamp checkOutTime;
    private Date attendanceDate;
    private Timestamp createTime;
    private Timestamp updateTime;
    
    // 额外字段，用于展示
    private String userName;
    private String companyName;
    private String department;
    private String position;
    
    // 打卡状态字段
    private boolean isLate;
    private boolean isEarlyLeave;
    private String recordDate; // 用于前端展示
    private String employeeName; // 用于前端展示
    
    public AttendanceRecord() {
    }
    
    // Getters and Setters
    public String getId() {
        return id;
    }
    
    public void setId(String id) {
        this.id = id;
    }
    
    public String getCompanyId() {
        return companyId;
    }
    
    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }
    
    public String getUserId() {
        return userId;
    }
    
    public void setUserId(String userId) {
        this.userId = userId;
    }
    
    public String getEmployeeNumber() {
        return employeeNumber;
    }
    
    public void setEmployeeNumber(String employeeNumber) {
        this.employeeNumber = employeeNumber;
    }
    
    public Timestamp getCheckInTime() {
        return checkInTime;
    }
    
    public void setCheckInTime(Timestamp checkInTime) {
        this.checkInTime = checkInTime;
    }
    
    public Timestamp getCheckOutTime() {
        return checkOutTime;
    }
    
    public void setCheckOutTime(Timestamp checkOutTime) {
        this.checkOutTime = checkOutTime;
    }
    
    public Date getAttendanceDate() {
        return attendanceDate;
    }
    
    public void setAttendanceDate(Date attendanceDate) {
        this.attendanceDate = attendanceDate;
    }
    
    public Timestamp getCreateTime() {
        return createTime;
    }
    
    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }
    
    public Timestamp getUpdateTime() {
        return updateTime;
    }
    
    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }
    
    public String getUserName() {
        return userName;
    }
    
    public void setUserName(String userName) {
        this.userName = userName;
    }
    
    public String getCompanyName() {
        return companyName;
    }
    
    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }
    
    public String getDepartment() {
        return department;
    }
    
    public void setDepartment(String department) {
        this.department = department;
    }
    
    public String getPosition() {
        return position;
    }
    
    public void setPosition(String position) {
        this.position = position;
    }
    
    public boolean isLate() {
        return isLate;
    }
    
    public void setLate(boolean late) {
        isLate = late;
    }
    
    public boolean isEarlyLeave() {
        return isEarlyLeave;
    }
    
    public void setEarlyLeave(boolean earlyLeave) {
        isEarlyLeave = earlyLeave;
    }
    
    public String getRecordDate() {
        return recordDate;
    }
    
    public void setRecordDate(String recordDate) {
        this.recordDate = recordDate;
    }
    
    public String getEmployeeName() {
        return employeeName;
    }
    
    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }
    
    @Override
    public String toString() {
        return "AttendanceRecord{" +
                "id='" + id + '\'' +
                ", companyId='" + companyId + '\'' +
                ", userId='" + userId + '\'' +
                ", employeeNumber='" + employeeNumber + '\'' +
                ", checkInTime=" + checkInTime +
                ", checkOutTime=" + checkOutTime +
                ", attendanceDate=" + attendanceDate +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", userName='" + userName + '\'' +
                ", companyName='" + companyName + '\'' +
                ", isLate=" + isLate +
                ", isEarlyLeave=" + isEarlyLeave +
                '}';
    }
} 